---
title: clsPolicyHeaderAssociationFactory
summary: API reference for clsPolicyHeaderAssociationFactory.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.View.Policy
reference_type: embedded
---

# clsPolicyHeaderAssociationFactory

`clsPolicyHeaderAssociationFactory` (defined in `clsPolicyAssociationFactory.vb`) orchestrates
retrieval of all `IPolicyHeaderAssociation`s for a policy across "groupable" (experience/discount
combination) and "non-groupable" association type categories, producing the `clsPolicyAssociation`
instances consumed by `clsPolicyData.Associations` and the policyholder parent-affiliation
authorization check.

## Purpose
- Orchestrates retrieval of all policy-header associations for a policy across groupable and non-groupable association type categories.
- Feeds `clsPolicyData.Associations`, in turn consumed by `IsPolicyValidForParentPolicy` ([BR-VP-006](../../business-rules.md#br-vp-006-policyholder-ownership-affiliation-match-required)).

## Context
- Namespace: `SAIF.Business.View.Policy`
- Assembly/package: `SAIF.Business.View.Policy` (embedded library reference)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `GetPolicyHeaderAssociations` | `Shared Function GetPolicyHeaderAssociations(DPI As IDataPortalInfo, PolicyNum As Decimal) As IEnumerable(Of IPolicyHeaderAssociation)` | Retrieves the full set of associations for a policy across all association type categories. |

## Behavioral notes
- Is a static/factory class, not a `clsBusinessBase` derivative — no inherited members section applies.
- Delegates category-grouping logic to `SAIF.Business.Policy`'s `IPolicyAssociationType`/category types (an internal project reference); the step sequence within that library was not traced further as part of this library's analysis.*

## Constraints and usage notes
- Consumed internally by `clsPolicyData` to populate its `Associations` property; not typically called directly by front-end code.*

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- `SAIF.Business.View.Policy\Associations\clsPolicyAssociationFactory.vb`
